// mouse.h
// 25 September 2011
// Purpose: Header for Mouse class

#ifndef MOUSE_H_
#define MOUSE_H_
#include "map.h"
class Mouse
{
public:
        Mouse(const Map &);                     // Default Constructor. Assigns mouse to starting position of map
        bool solve(const Map &);				//solves map, prints out each movement through the map.

        void displayMap(const Map &);           // Prints map and mouse location to cout

private:

        int getX() const;       // Returns _x position of mouse in map
        int getY() const;       // Returns _y position of mouse in map

		//bool move(const int[], const int, const int);

		bool moveLeft(const int[], const int, int &);                // Moves left and returns if the action was successful
        bool moveRight(const int[], const int, int &);               // Moves right and returns if the action was successful
        bool moveUp(const int[], int &, const int);                  // Moves up and returns if the action was successful
        bool moveDown(const int[], int &, const int, const int);                // Moves down and returns if the action was successful
		bool left(const int[], const int, const int);
		bool right(const int[], const int, const int);
		bool up(const int[], const int, const int);
		bool down(const int[], const int, const int, const int);

        struct Coordinate coord;			//position of mouse in maze
		int * _trail;
};



#endif // MOUSE_H_

